pdf.js 移动端H5 预览PDF文件 IOS不兼容 签章不展示 |
您所在的位置:网站首页 › ios iframe白屏 › pdf.js 移动端H5 预览PDF文件 IOS不兼容 签章不展示 |
移动端H5 预览PDF文件
问题需求1.需求分析:2.问题分析:
解决方案兼容问题1.跨域问题2.电子签章不展示
问题需求
1.需求分析:
1.需要在H5端使用PDF预览 2.显示PDF上的电子签章 3.Android,IOS需要在当前页面展示PDF,同时签章操作 2.问题分析:1.IOS原生浏览器可以浏览PDF,但是嵌入到 iframe 中会有展示问题 2.Android原生打开PDF会出现下载操作 解决方案使用的是 pdf.js v2.7.570 插件下载安装地址 下载地址 v2.4.456 版本在IOS中加载不出PDF v2.7.570 版本可以在IOS展示出PDF,但是不展示签章,处理方式与 v2.4.456 不同 兼容问题 1.跨域问题文件目录:/web/viewr.js // 关闭跨域处理 if (origin !== viewerOrigin && protocol !== "blob:") { // throw new Error("file origin does not match viewer's"); } 2.电子签章不展示文件目录:/build/pdf.worker.js 版本: v2.4.456 // 预览盖章合同 if (data.fieldType === "Sig") { data.fieldValue = null; // this.setFlags(_util.AnnotationFlag.HIDDEN); }版本: v2.7.570 // 电子签章注释 在 var AnnotationFactory = faunction () { *** switch (subtype) { case "Link": return new LinkAnnotation(parameters); case "Text": return new TextAnnotation(parameters); case "Widget": var fieldType = (0, _core_utils.getInheritableProperty)({ dict: dict, key: "FT" }); fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null; switch (fieldType) { case "Tx": return new TextWidgetAnnotation(parameters); case "Btn": return new ButtonWidgetAnnotation(parameters); case "Ch": return new ChoiceWidgetAnnotation(parameters); } // 电子签章注释 (0, _util.warn)('Unimplemented widget field type "' + fieldType + '", ' + "falling back to base field type."); // return new WidgetAnnotation(parameters); case "Popup": return new PopupAnnotation(parameters); *** } |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |